#ifndef _THE_GAME_
#define _THE_GAME_

//////// theGame.h ///////////////////////////////////////////////////////
//    Author:   Richard (richard.lindholm85@gmail.com)                  //
//    Project:  some game project                                       //
//    Purpose:  The applications main class, used for almost everything //
//////////////////////////////////////////////////////////////////////////

#include <windows.h>
#include <string>
//#include <>

#include "myD3D.h"
#include "input.h"
#include "objectHandler.h"
//#include "object.h"
//#include "player.h"

#define CurrentObject m_objHandler->getCurrentObject()
#define CurrentPlayer m_objHandler->getCurrentPlayer()

// for some reason Visual Studio 2010 thinks the class
// have int or something in front of it ... the ; solves it
;
class cTheGame
{
public:
    cTheGame();
    ~cTheGame();

    bool initiateApp(HWND hWnd, HINSTANCE hInstance);
    void deleteApp();

    bool loadTextures();

    void tick();

    bool update();
    void updateText();
    bool updateLogic();
    void updateInput();
    //bool update
    bool renderAll();
    //bool 

    void makeObjectFlee(std::string name);
        
    void setCmdLineStr(char * c);

private:

    HWND m_hWnd;
    HINSTANCE m_hInstance;

    myD3D* m_pD3D;
    cInput* m_pInput;
    
    cObjectHandler * m_objHandler;
    //cGameObject* m_pObject;
    //cPlayer* m_pPlayers;
    
    float m_hunterPosX;
    float m_hunterPosY;

    char * m_cCmdLine;

    bool m_bDebugMode;

};

#endif